The following table lists fatal error code bases that indicate bugs in the application code that render the eXtremeDB runtime unable to safely continue execution. In Java, C# and Python applications fatal errors will raise exceptions. In C and C++ applications, the ERR type return codes are passed to the runtime function
mco_stop()
to terminate execution.mco_stop()
in turn calls the internal functionmco_stop__()
with the actual file name and line number in the source code where the error condition was detected. If a fatal error handler has been registered, a break point can be set there in the debugger and the filename and line number can be seen by examining the call stack to further aid in locating the source of the bug.The error code base values identify the type of error. But the actual value of the return code will be composed of the base value for this type of error plus the source code line number in the runtime where the error was detected. For this reason the error code value cannot be searched by number. But the cause of the error can often be determined by recognizing its base, then lookup that base value in the table below.
For example, suppose your application terminates with error code 530040. Subtracting away the runtime source code line number (40 in this case) gives the error code base 530000. As can be seen in the table below, this base code indicates an invalid object handle. Very often this type of bug can be found by simply examining the call stack to see where in the application code the eXtremeDB API that trapped the error was called.
If the programming error is not obvious, please send the error code along with an explanation to McObject Technical Support.
Mnemonic Constant NameValueMeaningMCO_ERR_DB100000Database headMCO_ERR_DICT110000DictionaryMCO_ERR_CURSOR120000CursorsMCO_ERR_PMBUF130000Page manager (internal allocator) bufferMCO_ERR_COMMON140000Common routinesMCO_ERR_HEAP150000Heap managerMCO_ERR_OBJ160000Object allocatorMCO_ERR_BLOB170000Blob operationMCO_ERR_FREC180000Record allocatorMCO_ERR_VOLUNTARY190000Voluntary indexMCO_ERR_LOADSAVE200000Db save and loadMCO_ERR_PGMEM210000Page memoryMCO_ERR_EV_SYN220000Synchronous eventsMCO_ERR_EV_ASYN230000Asynchronous eventsMCO_ERR_EV_W240000Event wrappersMCO_ERR_XML_W250000XML serializationMCO_ERR_XML_SC260000XML schemaMCO_ERR_BTREE270000BtreeMCO_ERR_HASH280000HashMCO_ERR_RECOV290000RecoveryMCO_ERR_INST330000Db instanceMCO_ERR_TRN340000TransactionMCO_ERR_TMGR370000Trans. managerMCO_ERR_SYNC400000General syncMCO_ERR_ORDER450000Ordering and hashMCO_ERR_SEM460000SemaphoresMCO_ERR_SHM470000Shared memoryMCO_ERR_SER500000SerializationMCO_ERR_HA510000High AvailabilityMCO_ERR_DB_NOMEM520000Insufficient memoryMCO_ERR_OBJECT_HANDLE530000Invalid object handleMCO_ERR_UNSUPPORTED_FLOAT540000Support of float and double types is disabledMCO_ERR_UNSUPPORTED_DOUBLE550000Double unsupported. DEPRECATEDMCO_ERR_DB_NOMEM_HASH560000Insufficient memory in hash indexMCO_ERR_DB_NOMEM_HEAP570000Insufficient memory in heap managerMCO_ERR_DB_NOMEM_TRANS580000MCO_ERR_DB_NAMELONG590000Database name is too longMCO_ERR_DB_VERS_MISMATCH600000Version of eXtremeDB runtime mismatch. (Be sure to recompile the schema and link your application with the new generated .h and .c files when moving a schema from one installation of eXtremeDB to another distribution package.)MCO_ERR_RUNTIME610000Invalid type of sync. libraryMCO_ERR_INMEM_ONLY_RUNTIME620000There are persistent classes in the schema but runtime in-memory onlyMCO_ERR_DISK700000General disk errorMCO_ERR_DISK_WRITE710000Unable to write to persistent storageMCO_ERR_DISK_READ720000Unable to read from persistent storageMCO_ERR_DISK_FLUSH730000Unable to commit file system buffers to diskMCO_ERR_DISK_CLOSE740000Error closing persistent storageMCO_ERR_DISK_TRUNCATE750000Unable to truncate persistent storageMCO_ERR_DISK_SEEK760000Unable to seek in persistent storageMCO_ERR_DISK_OPEN770000Unable to open persistent storageMCO_ERR_DISK_ALREADY_OPENED780000Persistent storage already openedMCO_ERR_DISK_NOT_OPENED790000Persistent storage has not been openedMCO_ERR_DISK_INVALID_PARAM800000Invalid parameters valueMCO_ERR_DISK_PAGE_ACCESS810000Error reading a page from persistent mediaMCO_ERR_DISK_INTERNAL_ERROR820000Internal fatal errorMCO_ERR_DISK_OPERATION_NOT_ALLOWED830000Operation not allowed fatal errorMCO_ERR_DISK_ALREADY_CONNECTED840000Persistent storage already connectedMCO_ERR_DISK_TOO_MANY_INDICES850000Too many indexes in persistent classesMCO_ERR_DISK_TOO_MANY_CLASSES860000Too many persistent classesMCO_ERR_DISK_SPACE_EXHAUSTED870000Persistent storage device out of spaceMCO_ERR_DISK_PAGE_POOL_EXHAUSTED880000Too many pinned disk pagesMCO_ERR_DISK_INCOMPATIBLE_LOG_TYPE890000Incompatible database log typeMCO_ERR_DISK_BAD_PAGE_SIZE900000Page size is not acceptableMCO_ERR_DISK_SYNC910000Failed operation on sync. primitiveMCO_ERR_DISK_CRC920000Wrong CRC code of disk pageMCO_ERR_DISK_FORMAT_MISMATCH930000Incompatible configuration changes affecting disk database format. All incompatible changes of configuration which affect format of the database on the disk:
- CRC checking mode
- maximal size of classes
- incompatible transaction manager
See also MCO_ERR_DISK_BAD_PAGE_SIZE (reported when in-memory or disk page size were changed)
MCO_ERR_CHECKPIN940000Unbalanced pin / unpinMCO_ERR_CONN950000Connection processingMCO_ERR_REGISTRY960000Registry processingMCO_ERR_INDEX970000Index processingMCO_ERR_VTMEM980000In-memory only runtimeMCO_ERR_VTDSK990000mixed runtimeMCO_ERR_RTREE1000000rtree index1010000Uniform Data AccessMCO_ERR_PTREE1020000Patricia trie indexMCO_ERR_TL1030000Transaction logMCO_ERR_CLUSTER1040000ClusterMCO_ERR_CLNWTCP1050000Cluster TCP transportMCO_ERR_SEQ1060000Sequence errorsMCO_ERR_NESTED_TRANS_TRAP1090000Attempt to start nested transaction detectedMCO_ERR_PERFMON1100000Performance monitoringMCO_ERR_AIO1110000Asynchronous IOMCO_ERR_CLNWMPI1120000Cluster MPI transportMCO_ERR_DDL1130000DDL errorsMCO_ERR_SQL_EXCEPTION1140000SQL exceptionMCO_ERR_BACKUP1150000BACKUP exceptionMCO_ERR_ACTIVE_TRANSACTION1160000Attempt to disconnect an active transactionInvalid return codes1170000-1999998Values between 1170000 and 1999998 are not valid eXtremeDB return codesMCO_ERR_LAST1999999Marker for the last possible error code